package _15_generics._15_12;

/**
 * 使用自限定类型时，在导出类中 只有一个方法，
 * 并且这个方法接收导出类型，而不是基类型为参数
 */
public class _07_SelfBoundingAndCovariantArguments {
    void testA(Setter s1, Setter s2, SelfBoundSetter sbs) {
        s1.set(s2);
    }
}

interface SelfBoundSetter<T extends SelfBoundSetter<T>> {
    void set(T arg);
}

interface Setter extends SelfBoundSetter<Setter> {}
